package com.itheima.reggie;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/*
* springboot启动类启动后,
* 会自动扫描所有jar包中的/META-INF/spring.facotories,
* 通过spring.facotories配置文件的配置解析对应的类,创建对象存储到IOC容器中
* */
@Slf4j
@SpringBootApplication
//SpringBootApplication自动装配原理
//-》中有@EnableAutoConfiguration开启自动配置
// -》@Import 扫描所有的jar包中的文件
// -》通过配置文件中的全类名，找到对应的类，并解析

@ServletComponentScan
@EnableTransactionManagement
@EnableCaching  //开启Spring Cache注解方式是缓存功能
public class ReggieApplication {
    public static void main(String[] args) {
        //run方法启动项目，解析该类上的注解
        SpringApplication.run(ReggieApplication.class,args);
        log.info("项目启动成功...");
    }
}
